import router from "../router";
import $bus from "../utils/bus"
//全局前置钩子

//只要进入页面之前都会调用

//返回值：
//1.false 阻止路由的进入

//2.返回一个路径对象，终止进入to的路径，转而进入return的路径

//需求:用户未登入的情况下,不允许访问其它页面(判断本地是否有token,如果有就放行,如果没有就重新跳转到登入页)

//如果登陆了，就可以访问其他页面

router.beforeEach((to,from)=>{
    console.log('each===to',to);
    console.log('each===from',from);

    let token = sessionStorage.getItem('qf-token')

    if(!token){
        //没有token，说明用户已经登录了
        if(to.path == '/login'){
            //没登录，访问的还不是登陆页面，那就重新跳转到登录页
            return {
                path:"/login"
            }
        }
    }

    // if(to.path === "/mine") {
    //     return {
    //         path:"/discover"
    //     }
    // }

    // return {
    //     path:'/mine'
    // }
})


//全局后置钩子
//路由元信息，每个路由都有一个meta属性,可以给 路由配置 添加一些额外的标识和属性
router.afterEach((to,from)=>{
    console.log('after-to===',to);
    console.log('after-from===',from);
    // console.log('failure===',failure);

    //通过to.matched属性，来获取面包屑需要的数据，要把数据传递给app组件中的data
    $bus.$emit('breadChange',to.matched)
})

//全局解析守卫
router.beforeEach((to,from)=>{
    console.log('resolve-to',to);
    console.log('resolve-from',from);
})